package com.bosssoft.goods.dao;

import com.bosssoft.goods.domain.dto.GoodSearchDTO;
import com.bosssoft.goods.domain.vo.GoodsSearchQueryVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 插询商品信息数据层
 * @author Fang_Sir
 * @date 2021-04-18
 */
@Repository
public interface GoodsSearchDao {

    /**
     * 通过商品名称获取商品信息列表
     * @param query 搜索条件对象
     * @return {@link GoodSearchDTO} 列表
     */
    List<GoodSearchDTO> searchGoodsAll(GoodsSearchQueryVO query);

    /**
     * 通过商品编号查询商品信息
     * @param goodId 商品编号
     * @return 返回商品信息 {@link GoodSearchDTO}
     */
    GoodSearchDTO getGoods(@Param("id") long goodId);

    /**
     * 通过商品名称获取商品信息列表
     * @param name 商品名称
     * @return {@link GoodSearchDTO} 列表
     */
    List<GoodSearchDTO> searchGoodsByName(@Param("name") String name);

    /**
     * 获取购物车列表
     * @param gids 商品编号
     * @return {@link GoodSearchDTO} 列表
     */
    List<GoodSearchDTO> getGoodsListByGoodIds(@Param("gids") long[] gids);
}
